In enterprise networks and other types of networks, applications that run on computer systems may often be configured to communicate with one another. For example, an application that is dedicated for hosting a website may communicate with another application that tracks details of financial transactions between parties in order to provide a user with web-based access to the financial transactions. As the number of applications in a system grows so does the number of the computer systems that execute the applications. Furthermore, it will become increasingly difficult to secure and protect the flow of data between the applications. For example, when an application is added to the system, the application may be required to be “retrofitted” for secure communication with other applications in the system.
Accordingly, it is often challenging to provide an overlay network for enabling protected communication between applications that are members of an application group. Further, it is also challenging to configure the overlay network in a manner that optimizes communications between applications executed on virtual computer systems that are instantiated on the same underlying host computer system.